﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MyServer.TcpIP;
using MyServer.Udp;
using ScreenMonitor.ServerLib.OutputCollector;
using ScreenMonitor.ServerLib;
using MyServer.Common;
using ScreenMonitor.ServerLib.Plugin;
using FrameWork.Setting;
using FrameWork.Plugin;

namespace ScreenMonitor.ServerLib
{
    public static class ServerObjects
    {

        #region=======数据采集器=======
        public static DataSenderOutputCollector SenderOutputCollector { get; internal set; }
        public static DataReaderOutputCollector ReaderOutputCollector { get; internal set; }
        public static CommandCenterOutputCollector CommandCenterOutputCollector { get; internal set; }
        public static ConnectManagerOutputCollector ConnectManagerOutputCollector { get; internal set; }
        public static DataListenerOutputCollector DataListenerOutputCollector { get; internal set; }      
        #endregion

        #region=======设定编辑器=======

        public static SettingPropertyEditorItem GlobalSettingIpPortEditItem { get; internal set; }
        public static SettingPropertyEditorItem GlobalSettingScreenViewImgItem { get; internal set; }

        public static SettingPropertyEditorItem FilePoolSettingEditorItem { get; internal set; }

        public static SettingPropertyEditorItem TcpIpDataSenderSettingEditorItem { get; internal set; }
        public static SettingPropertyEditorItem TcpIpDataReaderSettingEditorItem { get; internal set; }
        public static SettingPropertyEditorItem TcpIpDataOperaterSettingEditorItem { get; internal set; }
        public static SettingPropertyEditorItem TcpIpConnectManagerSettingEditorItem { get; internal set; }
        public static SettingPropertyEditorItem TcpIpDataListenerSettingEditorItem { get; internal set; }

        public static SettingPropertyEditorItem UdpDataSenderSettingEditorItem { get; internal set; }
        public static SettingPropertyEditorItem UdpDataReaderSettingEditorItem { get; internal set; }
        public static SettingPropertyEditorItem UdpDataOperaterSettingEditorItem { get; internal set; }
        public static SettingPropertyEditorItem UdpConnectManagerSettingEditorItem { get; internal set; }
        public static SettingPropertyEditorItem UdpDataListenerSettingEditorItem { get; internal set; }

        #endregion

        #region=======插件载入器=======
        public static PluginLoader<IServerPlugin> ServerPluginLoader=new PluginLoader<IServerPlugin>();
        #endregion

    }
}
